package iqq.core;

import iqq.entity.Category;
import iqq.entity.Contact;
import iqq.entity.Group;
import iqq.entity.User;
import iqq.event.LoginListener;
import iqq.event.MessageListener;

import java.util.List;

/**
 * Messenger interface.
 * 
 * @author chenzhihui
 * @email chengnuo128@gmail.com
 */
public interface Messenger {
	void login();
	void logout();
	void addLoginListener(LoginListener loginListener);
	void addMessageListener(MessageListener messageListener);
	User getOwner();
	List<Category> getCategoryList();
	Category getCategory(int index);
	List<Contact> getContactList(int categoryIndex);
	Contact getContactByUin(long uin);
	Contact getContactByQQ(long qq);
	List<Group> getGroupList();
	Group getGroupByUin(long uin);
	Group getGroupByNumber(long number);
}
